Subject: SDLC support

From: "Steve Klein (254-5623)" <[email-masked]>
Date: Thu, 17 Mar 94 15:05:04 EST

Note from Jim Cobban dated Tue, 1 Mar 1994 10:23:00 +0000
    Note from Frank Bordonaro dated Tue, 1 Mar 94 10:23:32 PST
    Note from Nagi Swaminathan dated Mon, 7 Mar 94 14:46:58 EST

I am responding to several notes concerning the new connect proposal
and support of SDLC devices.  I have included several flows to show
how SDLC could be treated with the new proposal.  I have included
LAN-to-SDLC and SDLC-to-LAN scenarios.

I agree with Jim Cobban on the handling of CANUREACH_ex messages.
Responding with a ICANREACH_ex if you have an SDLC device configured
with the virtual MAC/SAP that matches the CANUREACH_ex's destination
MAC/SAP seems to make the most sense.  However, an implementation
could verify that the device is active if it chose to.

I also agree with Jim that a CANUREACH_cs requires that the DLSw
verify that the station is ready to accept a connection request.
A null XID could be used for T2.1 devices.  T2.0 devices would require
a SNRM since XID support cannot be assumed.

XIDs from SDLC T2.1 devices would have to be altered over the WAN to
give them a '802.2-like' appearance.  Likewise, XIDs received over
the WAN that are destined for SDLC devices would have to be altered
for the SDLC media.  SDLC T2.0 devices would require a configured XID0
to handle LAN-to-SDLC connections.

It should be noted that an SDLC DLC entity will work differently
from the example DLC entity in RFC 1434.  It may send different frames
based on DLSw entity Actions and may signal DLC Events for different
reasons.

Steve

-----------------------------------------------------------------------------

New Connection Sequence: SDLC to SDLC (T2.1)

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
   Origin       Origin DLSw         \___/        Target DLSw       Target
   Station        partner                          partner        Station
   (SDLC)                                                          (SDLC)

                DISCONNECTED                    DISCONNECTED

XID_cmd                        CANUREACH_cs                    null XID
----------->                   ------------>  RESOLVE_PENDING  ----------->

                                  ICANREACH_cs                            XID
             CIRCUIT_ESTABLISHED <------------  CIRCUIT_PENDING  <-----------

                               REACH_ACK
                               ------------>  CIRCUIT_ESTABLISHED
              Send XID that
              initiated the    XIDFRAME
              CANUREACH_cs     ------------>   send response to null XID
                                               that was initiated by CANUREACH_cs
         XID                          XIDFRAME
 <----------                     <------------

    XID                            XIDFRAME                          XID
<---------->                   <------------->                  <---------->

SNRM(E)
----------->  CONNECT_PENDING
          UA                   CONTACT                         SNRM(E)
 <----------  Implementation   ------------>  CONTACT_PENDING  ----------->
              may choose to hold
              UA until after CONTACTED is received
RR
----------->  (link station in local busy state)
          RNR
 <-----------                        CONTACTED                             UA
                  CONNECTED     <-------------     CONNECTED    <------------

RR            (link station taken out of local                 RR
----------->      busy state)                                  ------------>
           RR                                                              RR
 <-----------                                                   <------------

   IFRAME                          IFRAME                          IFRAME
<---------->                    <----------->                   <---------->
-----------------------------------------------------------------------------

New Connection Sequence: LAN to SDLC (T2.1)

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
   Origin       Origin DLSw         \___/        Target DLSw       Target
   Station        partner                          partner        Station
    (LAN)                                                          (SDLC)

                DISCONNECTED                    DISCONNECTED
TEST_cmd                       CANUREACH_ex
----------->                   ------------>    Respond if there is an SDLC
                                                station configured with a virtual
     TEST_rsp                     ICANREACH_ex  MAC and SAP equal to the MAC
 <-----------                    <------------  and SAP contained in the CANUREACH

null XID                       CANUREACH_cs                    null XID
----------->                   ------------>  RESOLVE_PENDING  ----------->

                                  ICANREACH_cs                            XID
            CIRCUIT_ESTABLISHED  <------------  CIRCUIT_PENDING  <-----------

                               REACH_ACK
                               ------------>  CIRCUIT_ESTABLISHED
              Send XID that
              initiated the    XIDFRAME
              CANUREACH_cs     ------------>    send response to null XID
                                                that was initiated by the
         XID                          XIDFRAME  CANUREACH_cs
 <----------                     <------------

     XID                          XIDFRAME                          XID
<---------->                   <------------->                  <---------->

SABME
----------->  CONNECT_PENDING
          UA                   CONTACT                         SNRM(E)
 <----------  Implementation   ------------>  CONTACT_PENDING  ----------->
              may choose to hold
              UA until after CONTACTED is received
RR
----------->  (link station in local busy state)
          RNR
 <-----------                        CONTACTED                             UA
                  CONNECTED     <-------------     CONNECTED    <------------
RR
----------->  (link station in local busy state)
           RR
 <-----------

   IFRAME                          IFRAME                          IFRAME
<---------->                    <----------->                   <---------->
-----------------------------------------------------------------------------

New Connection Sequence: SDLC to LAN (T2.1)

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
   Origin       Origin DLSw         \___/        Target DLSw       Target
   Station        partner                          partner        Station
   (SDLC)                                                          (LAN)

                DISCONNECTED                    DISCONNECTED

null XID                       CANUREACH_cs                    TEST_cmd
----------->                   ------------>  RESOLVE_PENDING  ----------->

                                  ICANREACH_cs                       TEST_rsp
             CIRCUIT_ESTABLISHED <------------  CIRCUIT_PENDING  <-----------

                               REACH_ACK
                               ------------>  CIRCUIT_ESTABLISHED
              Send XID that
              initiated the    XIDFRAME                        null XID
              CANUREACH_cs     ------------>                   ----------->

         XID                          XIDFRAME                            XID
 <----------                     <------------                   <-----------

    XID                           XIDFRAME                          XID
<---------->                   <------------->                  <---------->

SNRM
----------->  CONNECT_PENDING
          UA                   CONTACT                         SABME
 <----------  Implementation   ------------>  CONTACT_PENDING  ----------->
              may choose to hold
              UA until after CONTACTED is received
RR
----------->  (link station in local busy state)
          RNR
 <-----------                        CONTACTED                             UA
                  CONNECTED     <-------------     CONNECTED    <------------

RR            (link station taken out of local                 RR
----------->      busy state)                                  ------------>
           RR                                                              RR
 <-----------                                                   <------------

   IFRAME                          IFRAME                          IFRAME
<---------->                    <----------->                   <---------->
-----------------------------------------------------------------------------

New Connection Sequence: LAN to SDLC (T2.0)

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
   Origin       Origin DLSw         \___/        Target DLSw       Target
   Station        partner                          partner        Station
    (LAN)                                                          (SDLC)

                DISCONNECTED                    DISCONNECTED
TEST_cmd                       CANUREACH_ex
----------->                   ------------>    Respond if there is an SDLC
                                                station configured with a virtual
     TEST_rsp                     ICANREACH_ex  MAC and SAP equal to the MAC
 <-----------                    <------------  and SAP contained in the CANUREACH

null XID                       CANUREACH_cs                    SNRM
----------->                   ------------>  RESOLVE_PENDING  ----------->

                                  ICANREACH_cs                             UA
            CIRCUIT_ESTABLISHED  <------------  CIRCUIT_PENDING  <-----------

                                                               RR
                                                               ----------->
                               REACH_ACK
                               ------------>  CIRCUIT_ESTABLISHED
              Send XID that
              initiated the    XIDFRAME
              CANUREACH_cs     ------------>    send response XID0
                                                configurated for station
        XID0                          XIDFRAME
 <----------                     <------------

SABME
----------->  CONNECT_PENDING
          UA                   CONTACT
 <----------  Implementation   ------------>
              may choose to hold
              UA until after CONTACTED is rcvd
RR
----------->  (link station in local busy state)
          RNR
 <-----------                        CONTACTED
                  CONNECTED     <-------------     CONNECTED
RR
----------->  (link station in local busy state)
           RR
 <-----------

IFRAME                         IFRAME                          IFRAME
----------->                   ------------>                   ----------->

       IFRAME                           IFRAME                         IFRAME
 <-----------                    <------------                   <-----------
-----------------------------------------------------------------------------

New Connection Sequence: SDLC to LAN (T2.0)

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
   Origin       Origin DLSw         \___/        Target DLSw       Target
   Station        partner                          partner        Station
   (SDLC)                                                          (LAN)

                DISCONNECTED                    DISCONNECTED

              DLSw must be configured
        SNRM  to initiate the session
 <----------

UA                             CANUREACH_cs                    TEST_cmd
----------->                   ------------>  RESOLVE_PENDING  ----------->

          RR                      ICANREACH_cs                       TEST_rsp
 <---------- CIRCUIT_ESTABLISHED <------------  CIRCUIT_PENDING  <-----------

                               REACH_ACK
                               ------------>  CIRCUIT_ESTABLISHED

              Send null XID    XIDFRAME                        null XID
                               ------------>                   ----------->

                                      XIDFRAME                       null XID
                                 <------------                   <-----------
              Send XID0
              configured for   XIDFRAME                        XID0
              station          ------------>                   ----------->

                                                                        SABME
                                                CONNECT_PENDING  <-----------
                                       CONTACT  Implementation UA
                                 <------------  may choose to  ----------->
                                                hold UA until after
                                                CONTACTED is received

                                                                           RR
                                            (link station in    <------------
                                            local busy state)  RNR
                                                               ------------>
                               CONTACTED
                  CONNECTED    ------------>       CONNECTED
                                                                           RR
                                                                <------------

                                                               RR
                                                               ------------>
                                                                           RR
                                                                <------------

       IFRAME                           IFRAME                         IFRAME
 <-----------                    <------------                   <-----------

IFRAME                         IFRAME                          IFRAME
----------->                   ------------>                   ----------->

-----------------------------------------------------------------------------